package com.alpha.eceasy.mall.api.entity;

import com.alpha.eceasy.extension.BaseFormInfo;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 货品信息表
 * </p>
 *
 * @author huangpengfei
 * @since 2024-05-16
 */
@Getter
@Setter
@TableName("info_product")
@Schema(name = "Product", description = "货品信息表")
public class Product extends BaseFormInfo<Product> {

    @Serial
    private static final long serialVersionUID = 1L;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;

    private LocalDateTime deletedAt;

    private String createdBy;

    private String updatedBy;

    private String deletedBy;

    @Schema(description = "描述")
    private String illustrate;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "状态码:1正常,2异常,3调研中")
    private Byte statusId;

    @Schema(description = "货品的 SKU 编码，唯一标识符，可以用于管理库存")
    private String sku;

    private String asin;

    @Schema(description = "名称")
    private String name;

    @Schema(description = "类型")
    private String typeId;

    @Schema(description = "类型")
    private String type;

    @Schema(description = "类别id")
    private String categoryId;

    @Schema(description = "类别")
    private String category;

    @Schema(description = "工厂id")
    private String factoryId;

    @Schema(description = "工厂")
    private String factory;

    @Schema(description = "细分类别")
    private String subdivisionCategory;

    @Schema(description = "系列id")
    private String seriesId;

    @Schema(description = "系列")
    private String series;

    @Schema(description = "品牌")
    private String brand;

    @Schema(description = "供应商")
    private String supplier;

    @Schema(description = "成本价")
    private BigDecimal costPrice;

    @Schema(description = "销售价")
    private BigDecimal sellingPrice;

    @Schema(description = "折扣价")
    private BigDecimal discountPrice;

    @Schema(description = "货品的库存数量")
    private Integer quantity;

    @Schema(description = "重量")
    private BigDecimal weight;

    @Schema(description = "长度")
    private BigDecimal length;

    @Schema(description = "宽度")
    private BigDecimal width;

    @Schema(description = "高度")
    private BigDecimal height;

    @Schema(description = "体积")
    private BigDecimal volume;

    @Schema(description = "单位，例如“件”、“个”、“箱”等")
    private String unit;

    @Schema(description = "货品图片的 URL 地址")
    private String imageUrl;

    @Schema(description = "货品的条形码")
    private String barcode;

    @Schema(description = "货品创建时间")
    private LocalDateTime goodsCreatedAt;

    @Schema(description = "货品最后一次更新时间")
    private LocalDateTime goodsUpdatedAt;

    private String imageUrlArray;

    @Schema(description = "买点")
    private String buyingPoint;
}
